classdef vtkCellType < int32
    enumeration
        % Linear cells
        VTK_EMPTY_CELL(0)
        VTK_VERTEX(1)
        VTK_POLY_VERTEX(2)
        VTK_LINE(3)
        VTK_POLY_LINE(4)
        VTK_TRIANGLE(5)
        VTK_TRIANGLE_STRIP(6)
        VTK_POLYGON(7)
        VTK_PIXEL(8)
        VTK_QUAD(9)
        VTK_TETRA(10)
        VTK_VOXEL(11)
        VTK_HEXAHEDRON(12)
        VTK_WEDGE(13)
        VTK_PYRAMID(14)
        VTK_PENTAGONAL_PRISM(15)
        VTK_HEXAGONAL_PRISM(16)

        % Quadratic, isoparametric cells
        VTK_QUADRATIC_EDGE(21)
        VTK_QUADRATIC_TRIANGLE(22)
        VTK_QUADRATIC_QUAD(23)
        VTK_QUADRATIC_POLYGON(36)
        VTK_QUADRATIC_TETRA(24)
        VTK_QUADRATIC_HEXAHEDRON(25)
        VTK_QUADRATIC_WEDGE(26)
        VTK_QUADRATIC_PYRAMID(27)
        VTK_BIQUADRATIC_QUAD(28)
        VTK_TRIQUADRATIC_HEXAHEDRON(29)
        VTK_TRIQUADRATIC_PYRAMID(37)
        VTK_QUADRATIC_LINEAR_QUAD(30)
        VTK_QUADRATIC_LINEAR_WEDGE(31)
        VTK_BIQUADRATIC_QUADRATIC_WEDGE(32)
        VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON(33)
        VTK_BIQUADRATIC_TRIANGLE(34)

        % Cubic, isoparametric cell
        VTK_CUBIC_LINE(35)

        % Special class of cells formed by convex group of points
        VTK_CONVEX_POINT_SET(41)

        % Polyhedron cell (consisting of polygonal faces)
        VTK_POLYHEDRON(42)

        % Higher order cells in parametric form
        VTK_PARAMETRIC_CURVE(51)
        VTK_PARAMETRIC_SURFACE(52)
        VTK_PARAMETRIC_TRI_SURFACE(53)
        VTK_PARAMETRIC_QUAD_SURFACE(54)
        VTK_PARAMETRIC_TETRA_REGION(55)
        VTK_PARAMETRIC_HEX_REGION(56)

        % Higher order cells
        VTK_HIGHER_ORDER_EDGE(60)
        VTK_HIGHER_ORDER_TRIANGLE(61)
        VTK_HIGHER_ORDER_QUAD(62)
        VTK_HIGHER_ORDER_POLYGON(63)
        VTK_HIGHER_ORDER_TETRAHEDRON(64)
        VTK_HIGHER_ORDER_WEDGE(65)
        VTK_HIGHER_ORDER_PYRAMID(66)
        VTK_HIGHER_ORDER_HEXAHEDRON(67)

        % Arbitrary order Lagrange elements (formulated separated from generic higher order cells)
        VTK_LAGRANGE_CURVE(68)
        VTK_LAGRANGE_TRIANGLE(69)
        VTK_LAGRANGE_QUADRILATERAL(70)
        VTK_LAGRANGE_TETRAHEDRON(71)
        VTK_LAGRANGE_HEXAHEDRON(72)
        VTK_LAGRANGE_WEDGE(73)
        VTK_LAGRANGE_PYRAMID(74)

        % Arbitrary order Bezier elements (formulated separated from generic higher order cells)
        VTK_BEZIER_CURVE(75)
        VTK_BEZIER_TRIANGLE(76)
        VTK_BEZIER_QUADRILATERAL(77)
        VTK_BEZIER_TETRAHEDRON(78)
        VTK_BEZIER_HEXAHEDRON(79)
        VTK_BEZIER_WEDGE(80)
        VTK_BEZIER_PYRAMID(81)
    end
end
